home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Day Cry
/
Day Cry CD.bin
/
oh_towns
/
taropyon
/
he386
/
ccisrc
/
tg300ds.c
< prev
next >
Wrap
Text File
|
1994-09-20
|
2KB
|
93 lines
/*************************************************************************
* TG300 DRUM SETUP
*************************************************************************/
int Tg300drumBlockOfs[16] =
{
0x10000,0x20000,0x30000,0x40000,0x50000,0x60000,0x70000,0x80000,
0x90000,0x00000,0xA0000,0xB0000,0xC0000,0xD0000,0xE0000,0xF0000
};
/*************************************************************************
* DRUM SETUP PARAMETER
*-------------------------------------------------------------------------
* exTG300_drumSetup(part,note,pitch,fine,leve,pan,rev,cho,var,
* freq,reso,grp,kasn,rxnn,rxoff,atak,dc1,dc2)
*
* part üc 1 ü` 16
* note üc 27 ü` 88
*
* pitch üc 0 ü` 127
* fine üc -64 ü` 63
* level üc 0ü`127
* pan üc rnd,-63ü`63
* rev üc 0ü`127
* cho üc 0ü`127
* var üc 0ü`127
* freq üc 0ü`127
* reso üc 0ü`127
* grp üc 0ü`127
* kasn üc 0,1
* rxOn üc 0,1
* rxOff üc 0,1
* atak üc 0ü`127
* dc1 üc 0ü`127
* dc2 üc 0ü`127
*************************************************************************/
int exTG300_drumSetup( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
{
char dat[20];
int part, note;
int pitch, fine, level, grp, pan, rev, cho, kasn;
int rxOff, rxOn, freq, reso, atak, dc1, dc2, var;
if ( argc != 18 )
{
_ERR: MM_setErrMsg(sqr,"TG300 \"DRUM SETUP PARAMETER\" error!");
return(ERR);
}
if ( (part = tg300_getPart(argv[0])) < 0 )
goto _ERR;
note = atoi(argv[1]);
if ( note < 0x1B || note > 0x58 )
goto _ERR;
pitch = atoi(argv[ 2]);
fine = atoi(argv[ 3]) + 0x40;
level = atoi(argv[ 4]);
if ( strcmpi( argv[ 5],"rnd") == 0 )
pan = 0;
else
pan = atoi(argv[ 5]) + 0x40;
rev = atoi(argv[ 6]);
cho = atoi(argv[ 7]);
var = atoi(argv[ 8]);
freq = atoi(argv[ 9]);
reso = atoi(argv[10]);
grp = atoi(argv[11]);
kasn = atoi(argv[12]);
rxOn = atoi(argv[13]);
rxOff = atoi(argv[14]);
atak = atoi(argv[15]);
dc1 = atoi(argv[16]);
dc2 = atoi(argv[17]);
dat[ 0] = pitch;
dat[ 1] = fine;
dat[ 2] = level;
dat[ 3] = grp;
dat[ 4] = pan;
dat[ 5] = rev;
dat[ 6] = cho;
dat[ 7] = kasn;
dat[ 8] = rxOff;
dat[ 9] = rxOn;
dat[10] = freq;
dat[11] = reso;
dat[12] = atak;
dat[13] = dc2;
dat[14] = dc1;
dat[15] = var;
return tg300_genMML( sqr, bufSiz, buf, 0x100000+Tg300drumBlockOfs[part]+(note<<8), 16, dat );
}